import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import ElementPlus from 'element-plus';
import 'element-plus/theme-chalk/index.css';
import zhCn from 'element-plus/es/locale/lang/zh-cn'
import Cookies from "js-cookie";
import i18n  from '@/lang/index'

// createApp.use(VueI18n)

let app = createApp(App).use(store).use(router).use(ElementPlus, { size: store.state.size, zIndex: 3000, locale: zhCn, }).use(i18n)


// 注册一个全局自定义指令 `v-focus`
app.directive('promis', {
    // 当被绑定的元素插入到 DOM 中时……
    mounted(el,binding) {//el：指令所绑定的元素，可以用来直接操作 DOM。
        let val = binding.value//binding：一个对象,，包含以下 property：  value：指令的绑定值，例如：v-my-directive="1 + 1" 中，绑定值为 2。
        // let quanxian = store.getters.data.pram
        let quanxian = store.state.login.myinfodata.perms || [] //获取vuex里面存储的权限数据，或者数据为空
       if (quanxian.indexOf(val)== -1) {//如果查找的权限数据不等于自定义指令的绑定值，那就返回一个空值
        el.remove()
       }
        // quanxian.find((item)=>{//查找权限数据
        //     if (item!=val) {//如果查找的权限数据不等于自定义指令的绑定值，那就返回一个空值
        //         el.remove()
        //     }
        // })
    }
  })




app.mount('#app')

// 前置守卫
router.beforeEach((to, from, next) => {
    if (Cookies.get("token") != '' || to.path == "/login") {
        next()
    } else {
        next({ path: "/login", query: { path: to.path } })
    }
})